#ifndef UNITTYPE_H
#define UNITTYPE_H

#include <qstring.h>

struct UnitTypeProperties
{
public:
    QString name;
};

enum UnitType {GROUND, AQUATIC, AMPHIBIAN, AERIAL, MOUNTED, PLANT, IMMATERIAL};
const quint8 unitTypeNumber = 7;

class UnitTypeFactory {
    //Singleton that manages the unit types
public:
    static UnitTypeFactory& getInstance();

private:
    //The UnitTypeFactory must be created using getInstance() as it's a singleton
    UnitTypeFactory();
    UnitTypeFactory(const UnitTypeFactory&);
    UnitTypeFactory& operator=(const UnitTypeFactory&);

    UnitTypeProperties m_types[7];
};

#endif // UNITTYPE_H
